Exploring Lazy Evaluation In Python: Efficiency And Practical Use Cases